package com.apobates.jforum.grief.aurl.utils;

import java.util.Objects;

/**
 * 通用的二元组
 * @param left 左边值
 * @param right 右边值
 * @param <L> 左边值的类型
 * @param <R> 右边值的类型
 */
public record Pair<L,R>(L left, R right){
    /**
     * 实例化. 要求所有参数不能是null
     * @param left 左参数
     * @param right 右参数
     * @return
     * @param <L> 左参类型
     * @param <R> 右参数类型
     */
    public static<L,R> Pair of(L left, R right){
        L l = Objects.requireNonNull(left);
        R r = Objects.requireNonNull(right);
        return new Pair(l, r);
    }
}
